'use client'; import { Image } from '@akinon/next/components'; import { useGetWidgetQuery } from '@akinon/next/data/client/misc'; import { useLocalization } from '@akinon/next/hooks/use-localization'; import { WidgetResultType } from '@akinon/next/types'; import { Icon, Link, LoaderSpinner } from '@theme/components'; import { formatDateToMonthYear } from '@theme/utils/formatDate'; import { useParams } from 'next/navigation'; interface BlogItemKwargs { url: string; data_type: string; value: string; } type blogItem = { value: string; kwargs: BlogItemKwargs; }; type BlogType = { title: blogItem; link: blogItem; description: blogItem; image: blogItem; date: blogItem; }; export default function Page() { const params = useParams<{ slug: string }>(); const { locale, t } = useLocalization(); const slug = params.slug; const { data, isLoading } = useGetWidgetQuery(slug) as ReturnType< typeof useGetWidgetQuery >; const blogData = data as WidgetResultType | undefined; if (isLoading) { return (
); } if (!blogData) { return (

{t('blog.blog_not_found')}

{t('blog.back_to_blogs')}
); } const formattedDate = formatDateToMonthYear( blogData?.attributes?.date?.value, locale as any ); return (
{blogData?.attributes?.title?.value

{blogData?.attributes?.title?.value || 'Blog Title'}

{formattedDate} {t('blog.share')}
{blogData?.attributes?.link?.value && ( {t('blog.view_product')} )}
{t('blog.back_to_blogs')}
); }